MAPS

Animal Populations in Europe

point grid map

Photo by Krzysztof Kowalik on Unsplash

Photo by Krzysztof Kowalik on Unsplash

He who lets the goat be laid on his shoulders is soon after forced to carry the cow…
— PROVERBS


Ingest

base and dot maps

# Europe Base map
nuts <- st_read("archetypes/animal-populations-in-europe/nuts.geojson", quiet = TRUE)

# Dot maps by animal
cow <- st_read("archetypes/animal-populations-in-europe/nutsdots-cow-75.geojson", quiet = TRUE)
buffalo <- st_read("archetypes/animal-populations-in-europe/nutsdots-buffalo-75.geojson", quiet = TRUE)
pig <- st_read("archetypes/animal-populations-in-europe/nutsdots-pig-75.geojson", quiet = TRUE)
sheep <- st_read("archetypes/animal-populations-in-europe/nutsdots-sheep-75.geojson", quiet = TRUE)
goat <- st_read("archetypes/animal-populations-in-europe/nutsdots-goat-75.geojson", quiet = TRUE)

Plot

Cow

# draw a dot at each grid cell and scale its area
v1 <-  ggplot(data = nuts) +
  #faint land silhouettes in the back of the map
  geom_sf(fill = "grey98", color = lighten("#37474F", amount = 0.8)) +
  geom_sf(data = cow, aes(size = values), shape = 21, color = 'white', fill = "#37474F", show.legend = FALSE) +
  #geom_point(data = nutsdots, aes(x = X, y = Y, size = values), shape = 21, color = 'white', fill = '#E3D556', show.legend = FALSE) +
  #Equal area projection for Europe, and map boundaries
  coord_sf(xlim = c(2000000, 6000000), ylim =c(950000, 5000000), crs = 3035) +
  #Ensures circles are sized by area
  scale_size_area(max_size = 8) +
  theme_minimal() +
  theme(axis.text = element_blank(), panel.grid = element_line(size = 0))

girafe(ggobj = v1, width_svg = 1280/72, height_svg = 720/72,
       options = list(opts_sizing(rescale = TRUE, width = 1.0))
)

Plot

Buffalo

# draw a dot at each grid cell and scale its area
v2 <-  ggplot(data = nuts) +
  #faint land silhouettes in the back of the map
  geom_sf(fill = "grey98", color = lighten("#5D4037", amount = 0.8)) +
  geom_sf(data = buffalo, aes(size = values), shape = 21, color = 'white', fill = "#5D4037", show.legend = FALSE) +
  #Equal area projection for Europe, and map boundaries
  coord_sf(xlim = c(2000000, 6000000), ylim =c(950000, 5000000), crs = 3035) +
  #Ensures circles are sized by area
  scale_size_area(max_size = 8) +
  theme_minimal() +
  theme(axis.text = element_blank(), panel.grid = element_line(size = 0))

girafe(ggobj = v2, width_svg = 1280/72, height_svg = 720/72,
       options = list(opts_sizing(rescale = TRUE, width = 1.0))
)

Plot

Pig

# draw a dot at each grid cell and scale its area
v3 <-  ggplot(data = nuts) +
  #faint land silhouettes in the back of the map
  geom_sf(fill = "grey98", color = lighten("#D81B60", amount = 0.8)) +
  geom_sf(data = pig, aes(size = values), shape = 21, color = 'white', fill = "#D81B60", show.legend = FALSE) +
  #Equal area projection for Europe, and map boundaries
  coord_sf(xlim = c(2000000, 6000000), ylim =c(950000, 5000000), crs = 3035) +
  #Ensures circles are sized by area
  scale_size_area(max_size = 8) +
  theme_minimal() +
  theme(axis.text = element_blank(), panel.grid = element_line(size = 0))

girafe(ggobj = v3, width_svg = 1280/72, height_svg = 720/72,
       options = list(opts_sizing(rescale = TRUE, width = 1.0))
)

Plot

Sheep

# draw a dot at each grid cell and scale its area
v4 <-  ggplot(data = nuts) +
  #faint land silhouettes in the back of the map
  geom_sf(fill = "grey98", color = lighten("#D84315", amount = 0.8)) +
  geom_sf(data = sheep, aes(size = values), shape = 21, color = 'white', fill = "#D84315", show.legend = FALSE) +
  #Equal area projection for Europe, and map boundaries
  coord_sf(xlim = c(2000000, 6000000), ylim =c(950000, 5000000), crs = 3035) +
  #Ensures circles are sized by area
  scale_size_area(max_size = 8) +
  theme_minimal() +
  theme(axis.text = element_blank(), panel.grid = element_line(size = 0))

girafe(ggobj = v4, width_svg = 1280/72, height_svg = 720/72,
       options = list(opts_sizing(rescale = TRUE, width = 1.0))
)

Plot

Goat

# draw a dot at each grid cell and scale its area
v5 <-  ggplot(data = nuts) +
  #faint land silhouettes in the back of the map
  geom_sf(fill = "grey98", color = lighten("#00695C", amount = 0.8)) +
  geom_sf(data = goat, aes(size = values), shape = 21, color = 'white', fill = "#00695C", show.legend = FALSE) +
  #Equal area projection for Europe, and map boundaries
  coord_sf(xlim = c(2000000, 6000000), ylim =c(950000, 5000000), crs = 3035) +
  #Ensures circles are sized by area
  scale_size_area(max_size = 8) +
  theme_minimal() +
  theme(axis.text = element_blank(), panel.grid = element_line(size = 0))

girafe(ggobj = v5, width_svg = 1280/72, height_svg = 720/72,
       options = list(opts_sizing(rescale = TRUE, width = 1.0))
)

References

citations for narrative and data sources